Signal processing system for sensing a periodic signal in noise

ABSTRACT

A method and an apparatus for distinguishing systematic artifacts from noise involves localizing functional noise in the vicinity of predicted functional peaks. The method is particularly relevant to detection and tracking of time-varying signals. An apparatus implementing such an application of the method comprises a detection system ( 50 ) which monitors each component of a multi-component periodic signal via its basis repeat unit: a cyclet, of periodicity τ. The signal is digitized and clocked through the system ( 50 ) in segments. A cyclet remover ( 62 ) subtracts predicted values of previously detected cyclets from the incoming signal segment to produce a residual signal. A cyclet detector ( 60 ) uses a sliding window procedure to detect further cyclets in this residual and to measure their amplitude profiles {overscore (b)}(τ) and periodicities (τ). A cyclet tracker ( 64 ) uses this residual to correct errors in the predicted cyclet values ({overscore (b)}(τ), τ) and to predict (track) cyclet values appropriate to the next incoming signal segment. A track remover ( 66 ) monitors cyclets variations and removes sub-threshold cyclets from the tracking process.

This invention relates to a method of localising noise effects and to asignal processing system for applying the method. The invention alsorelates to applications of the signal processing system in signaldetection and tracking system associated with analysis of multicomponentsignals.

Regardless of the source of a signal, its detection will be imperfectand detected real signals will contain noise and often a systematicerror of comparable magnitude. In particular, tracking a time-varyingsignal may automatically generate a systematic error between one timeperiod and the next because of dynamic change. There is a perceived needto be able to track changes in a signal with time. Such changes mayarise for numerous reasons and in many different types of signal. Ofparticular interest are periodic phenomena which commonly occur in manyaspects of life. For example communication signals, the sound ofrotating machinery, the heartbeat and speech can all be broken down intocomponent periodic parts.

Many modelling schemes have been used in the analysis of periodicphenomena. Such analysis admits of numerous applications: for example,subtracting periodic signal components from the acoustic spectrum of arotating engine makes it possible to detect relatively low intensitynon-periodic sounds such as those from a gearbox. Similarly if eachperiodic component can be isolated and ascribed to a particular singlesource, the operational sound of that source can be monitored. Thisenables early diagnosis of a failing component, indication of whichwould otherwise be lost amongst a cacophony of sounds. Similarly theperiodic components of speech may be isolated from other sounds andspoken communication may be made in a noisy environment. Medicalapplications also exist: heartbeat can be analysed and harmonicinterference removed from biomedical signals to enable them to bemonitored. Furthermore such a representation of a complex signalrequires far less bandwidth than the signal itself, and can be passedthrough a lower bandwidth telecommunications channel.

The prior art contains various techniques for estimating periodicitiesin periodic systems. Most are based on Fourier analysis which does notcope well with resolving multiple signals present in an overall receivedsignal nor does it deal effectively with tracking time-varyingperiodicities or amplitudes. Fourier analysis requires an initialevaluation of a measure of likelihood for each of many possible testvalues of the periodicity. The range of potential periodicities iscontinuous and in constructing a discrete set of test values asufficiently fine scale must be used. Generally the analysis leading toan appropriate set is performed either in the Fourier domain orindirectly by using comb filters. The use of fixed frequency Fouriercomponents as the basis of analysis precludes ready adaptation of eithertechnique to tracking non-stationary periodicities. Furthermore theFourier calculation is computationally expensive making real-timeanalysis more difficult and any approximations result in models with alower signal to noise ratio (SNR). The comb filter offers an improvementin terms of SNR, but still retains the basic disadvantages of a Fouriertechnique.

In the Fourier calculation, harmonically related Fourier components mustbe recombined. In general the coefficients are complex valued and sodirect linear addition cannot be used to assemble the harmonic set toform the overall modelled signal. If non-coherent second order summationof the coefficients is used, it follows that this measurement is notoptimised in terms of its SNR at any test value of period.

Alternatively a bank of comb filters, one filter per test value matchedto a given test period, is used to reconstruct trial estimates ofperiodic components. Directly applied in the time domain, a comb filtermay be calculated by pre-multiplying the Inverse Fourier and Fouriertransforms using only those harmonic components which are relevant to aparticular test value of period. The Inverse Fourier transform providesa more optimal method of recombining the harmonically related Fouriercoefficients. Again a likelihood spectrum is obtained as a function oftest period; in this method it is by evaluating the mean power output ofeach comb filter. The Fourier components are not therefore calculatedexplicitly and the SNR is improved when compared to the non-coherentFourier method of the previous paragraph.

It is an object of this invention to provide a method applicable to thedetection and tracking of multiple non-stationary components of asignal.

In this patent specification the term “cyclet” is used to refer to anybasis component of a signal which is replicated at regular timeintervals. Theoretically, the amplitude profile and repetition frequencyof a cyclet are not constrained in any way. A cyclet “track” describesthe variation of cyclet periodicity and amplitude profile over time.

The present invention provides a method of localising noise effects in afirst signal by means of a representation thereof: a model signalcomprising at least one modelled component representable by a parameterset comprising at least one model parameter characterised in that themethod comprises the steps of:

(a) subtracting the model signal from the first signal to derive aresidual signal;

(b) scaling the residual signal by a multiplicative pseudo-integratingfactor ρ having a value between zero and unity;

(c) adding the scaled residual signal obtained in Step (b) to at least aproportion of the model signal to give at least one pseudo-integratedsignal, wherein perturbing noise effects in the scaled residual signalare localised.

This invention enables noise to be distinguished from systematic factorswhich affect signal clarity and magnitude. Potential applications of thetechnique used in this invention, termed pseudo-integration, arenumerous. Often noise is of similar magnitude to and masks moreimportant, systematic, signal effects. This invention provides a meansof localising the effects of noise on parameter estimates and enablinginformation regarding systematic signal effects to be extracted.

Prior to Step (c), the model signal is preferably multiplied by (1−ρ) toobtain a proportion thereof comprising at least one scaled modelcomponent for addition to the scaled residual signal. Thepseudo-integrating factor ρ must be less than or equal to unity, and inmost applications of this technique it is of the order 0.01. The realsignal is considered in this invention to be equivalent to the modelsignal perturbed by systematic effects and those of random noise. Byscaling the residual signal, containing random noise and systematiceffects, by a small factor ρ and the model signal by (1−ρ), peaks in themodelled signal are ˜100 times the scaled level of the noise whichperturbs them. Within the pseudo-integrated data the perturbing effectsof noise are therefore localised to be in the vicinity of each modelledcomponent or parameter. In general peaks within a signal which aremasked by noise are not localised. Integration is required to enablesuch peaks to be distinguished above the effects of random noise.

The model parameter set representative of each modelled component may becorrected for systematic errors by the following additional steps:

(a) modelling the pseudo-integrated signal of each particular modelledcomponent to obtain a corresponding set of locally perturbed modelparameters;

(b) subtracting each model parameter from its corresponding locallyperturbed model parameter to obtain a corresponding set of at least onelocalised perturbation error;

(c) resealing each localised perturbation error back to its originallevel by division with the pseudo-integrating factor ρ; and

(d) adding each rescaled localised perturbation error to itscorresponding model parameter thereby obtaining a set of respectivepseudo-integrated model parameters.

This extension of pseudo-integration enables systematic errors oreffects to be corrected. In generating a model of a signal, inaccuraciesmay arise in any number of ways. Regardless of how the model isgenerated, it is unlikely to be a perfect replication of the signal, orany component thereof. The signal may vary with time, making past modelsused predictively inaccurate. The model may only be an approximation tothe actual signal, and systematic errors will arise from the model'sdeficiencies. This feature is highly flexible in that pseudo-integratedparameters can be used to update the model, regardless of the cause ofany model deficiencies.

The signal may be segmented to provide a number of signal windows, andthe method is applied iteratively to generate multiple pseudo-integratedparameter sets for each modelled signal component, and a correctedparameter set is derived from such multiple parameter sets.

This feature provides the advantage that improved accuracy, speed andefficiency is obtainable in comparison with the prior art. Working inthe pseudo-integration domain enables the pseudo-integrated parametersto be used to correct for model deficiencies. By generating multiplepseudo-integrated sets, more data is available with which to correctsystematic errors or, equivalently, update the model. Various correctionmethods can be used. For example the multiple values of eachpseudo-integrated parameter can be simply averaged to provide acorrected value of that parameter (smoothing). A more accurate method isto use the generated values to extrapolate to a subsequent predictedvalue (parameter tracking). In either case smoothing or tracking thepseudo-integrated parameter, rather than the correction to be applied tothe model parameter provides a considerable improvement over the priorart. In this invention, subsequent corrections always include previouslyapplied corrections, which results in an increase in stability andaccuracy. Moreover, because a full correction can be applied, smallsystematic errors can be separated from noise without incurringintegration lag and consequential time penalty which is inherent inprior art integration routines. Thus this application ofpseudo-integration is suitable for implementation in real time signalprocessing.

This feature also provides the advantage that the number of model signalcomponents and associated control parameters can be changed easily inreal-time. Each can be adjusted in accordance with prevailing conditionsin order to minimise bias errors and variances of the control parameterscurrently being used.

It will be clear that the nature of the system to which this inventionis applied is not restricted. In general each of several signalcomponents might be modelled or described by several parameters. Forexample, a selection from range, angle, frequency, phase, timing,temperature, rate of change, concentration, etc.

The model signal may be corrected for systematic errors by addition ofthe at least one corrected component thereof in turn derived fromrespective sets of pseudo-integrated model parameters.

The first signal is preferably a digitally sampled signal and the modelsignal preferably comprises previously predicted sampled signal values.This feature maintains the advantages of accuracy, speed and efficiencyand lends itself to real time correction of errors between predicted andactual values of a signal. This ability to “track” a parameter is apowerful and widely applicable tool. For example complex signals whichmay vary rapidly with time, position or other parameter may be followedwith accuracy, speed and efficiency. An approximate signal model orprediction of the signal, either in the future or at a differentposition can be rapidly compared with the actual collected signal atthat future time or position. The systematic errors arising frominaccurate predictions can then be separated from signal noise andcorrected, without the need for computationally expensive, and thereforetime-consuming, signal integration.

The method of the invention may be used to correct the effect ofsystematic errors arising in predicted of parameters descriptive of onecomponent of a signal exhibiting effects of noise by the steps of:

(a) predicting expected sampled signal values from previously determinedparameter values;

(b) carrying out Steps (a) to (c) as set out above wherein the firstsignal comprises a data segment of sampled values taken from the signalexhibiting the effects of noise, the model signal comprises the expectedsampled signal values obtained in Step (a) and the residual signal andpseudo-integrated signal therefore comprise residual signal sampledvalues and a set of pseudo-integrated data appropriate to the signalcomponent espectively;

(c) deriving from the pseudo-integrated data set locally perturbedparameter values appropriate to the parameters descriptive of the signalcomponent;

(d) measuring rescaled perturbation errors in each of the predictedparameter values descriptive of the model signal component from thedifference between said predicted values and the locally perturbedparameter values divided by the pseudo-integrating factor ρ;

(e) adding the rescaled perturbation errors derived in Step (d) to thepredicted parameter values o obtain pseudo-integrated parameter values;and

(f) smoothing or tracking the pseudo-integrated parameter values toprovide corrected parameter values.

Corrected parameter values can thus be obtained quickly from predictionswithout being computationally excessive. This enables tracking ofrapidly varying parameter values to take place in real time, acapability not generally provided by prior art tracking routines.

The method preferably also comprises the steps of:

(a) storing the pseudo-integrated parameter values as latest values inrespective history caches wherein each history cache contains previouslydetermined respective pseudo-integrated parameter values;

(b) clearing a first parameter value from each cache; and

(c) predicting new values of each corrected parameter value appropriateto future sampled values of the noisy signal by track fitting to thepseudo-integrated parameter values in each history cache andextrapolating a resulting track to future segments of sampled values.

This provides the advantage of accuracy and flexibility. Futurepredictions are based on curve fitting to values obtained from a numberof previous segments, rather than simply smoothing, limiting thelikelihood of a spurious error being propagated. Moreover the size ofthe history cache can be varied to suit the situation. If the parametersvary rapidly, a large history cache would result in early errors beingover-weighted with a consequent undesirable lag and a short historycache is preferable. Conversely, slowly varying parameters of a signalwith a small signal to noise ratio (SNR) are tracked with increasedaccuracy, for a given segment size, if the history cache is larger.

Tracking may be carried out in the time domain and parameter correctionmay account for the effect of time-varying signals. Furthermore, thetrack fitting of Step (c) is a linear regression procedure.

The signal is preferably a multi-component signal, and the method asdescribed above is applied to each component thereof.

The method may be employed to separate periodic components of adigitally sampled signal by the steps of:

(a) clocking the digitised signal in segments through a detectionsystem;

(b) following Steps (a) to (c) as first mentioned above wherein thefirst signal comprises the digitised signal segments the model signalcomprises predicted amplitude values derived from sets of predictedmodel parameters, each set representing a modelled component of thesignal and the residual signal and pseudo-integrated signals thereforecomprise residual signal sampled values and pseudo-integrated data setsrespectively;

(c) correcting errors in timing of profiles applied to the predictedamplitude values with respect to sampling times of the digitally sampledsignal 30 and also tracking amplitude changes in this applied amplitudeprofile of each detected component using respective sets ofpseudo-integrated data; and

(d) searching the residual signal for new signal components.

The predicted components may be derived from detected components trackedin previously clocked segments of the digitised signal.

These features enable multiple components of a signal to be detected andseparated individually. The method is iterative in that, at any onestage, all components detected up until that time are subtracted from asegment of the digitised signal to generate the residual signal. Eachdetected component parameter value set, descriptive of the amplitudeprofile and timing, is then pseudo-integrated using the residual signalin order to derive corrected parameter values (profiles and timing). Theresidual signal is then searched for evidence of signal components whichhave not yet been modelled and separated from the composite signal. Anynew component detected is then modelled with a new set of parametervalues and included in the next iteration of the method.

This detection method has the advantages of accuracy, speed andefficiency as compared with the prior art.

The components of the digitally sampled signal are preferably periodiccomponents. Each periodic component is then considered in terms of itsbasis unit a cyclet. This embodiment enables cyclet profile amplitudeand timing of the amplitude with respect to sampling rate to befollowed. Each iteration of this method updates the profiles and timingto generate corrected cyclet values. This embodiment of the inventionenables rapidly varying periodic components of a signal to be detectedand followed in real time. Prior art analysing techniques based onFourier transforms cannot perform acceptably when tracking rapidlyvarying signal components.

Preferably, Step (c) comprises the steps of:

(a) measuring a weighted averaged offset of the pseudo-integrated dataset from the predicted amplitude profile of each detected periodiccomponent and thereby deriving a scaled perturbation timing offset;

(b) dividing the weighted averaged scaled perturbation timing offset bythe pseudo-integrating factor ρ, thereby deriving a rescaled timingerror in each of the predicted amplitude values;

(c) profile fitting the pseudo-integrated data to generate a locallyperturbed profile fit and deriving a set of locally perturbed profilecoefficients appropriate to the profile fit;

(d) measuring a difference between each locally perturbed coefficientand a corresponding coefficient of the profile coefficients and dividingeach difference by the pseudo-integrating factor ρ thereby deriving aset of rescaled profile coefficient errors;

(e) adding the rescaled timing error and each rescaled profilecoefficient error to the previously predicted timing and profilecoefficient values to produce pseudo-integrated timing and profilecoefficient values respectively;

(f) smoothing or tracking the pseudo-integrated timing and profilecoefficient values to produce corrected timing and profile coefficientvalues respectively; and

(g) predicting new values of the timing and each profile coefficientappropriate to a future incoming digitised signal segment from thecorrected timing and profile coefficient values.

This embodiment of the invention provides the advantages of accuracy,speed and efficiency in detecting and tracking rapidly-varying periodiccomponents of a signal. A parameter model suitable to describe thecyclets is provided by the total amplitude profile coefficients andtiming. These model parameters are therefore pseudo-integrated in thisembodiment.

Values predicted in Step (g) are preferably used to derive the predictedamplitude values, amplitude profiles and associated sets of predictedmodel parameters and timings used in subsequent iterations of Steps (b)and (c) detailed above in analysing a subsequently sampled signalsegment.

Step (f) as described above may comprise the steps of:

(a) storing the pseudo-integrated timing and profile coefficient valuesas latest values in respective history caches wherein each history cachecontains previously determined pseudo-integrated timing and profilecoefficient values;

(b) clearing a first parameter value from each cache, and

(c) predicting new values of the timing and each profile coefficientappropriate to a future incoming digitised signal segment by trackfitting to the values in each history cache and extrapolating aresulting fitted track to a future segments of sampled values.

The weighted offset is preferably derived in accordance with a weightingscheme in which offsets at positions where the gradient of the amplitudeprofile is steep are weighted relatively strongly and those at positionswhere the gradient is near-zero are weighted relatively weakly.

The pseudo-integrating factor ρ is preferably in the range 0.003 to0.03.

In another aspect this invention provides a method of detecting aperiodic component of a digitally sampled signal characterised in thatthe method comprises the steps of:

(a) filtering the sampled signal to obtain a synchronously estimatedperiod approximating the periodicity of the periodic component;

(b) slicing the digitally sampled signal into data blocks wherein thesize of each data block is equal to the synchronously estimated period;

(c) averaging inter-block in-phase amplitudes of sample points in thedigitally sampled signal to obtain mean amplitude values of periodicity;

(d) subtracting the mean amplitude values from the sample pointamplitudes in each data block to obtain a residual values block;

(e) scaling the residual values block in accordance with apseudo-integrating factor ρ, such that the residual values aremultiplied by ρ;

(f) adding the scaled residual values obtained in Step (e) to at least aproportion of the mean amplitude values to obtain locally perturbedamplitude values;

(g) deriving locally perturbed offsets by measuring the offsets in timeof the locally perturbed amplitude values from the mean amplitudevalues;

(h) dividing the locally perturbed offsets by the pseudo-integrationfactor ρ and tracking or smoothing resulting pseudo-integrated values toobtain a mean timing error line; and

(i) correcting the synchronously estimated period (σ) by an amount equalto the gradient of the mean timing error line to obtain a refinedestimate of the periodicity of the periodic component.

Prior to Step (f) the mean amplitude values are preferably scaled bymultiplying them by (1−ρ) to obtain proportions thereof for addition tothe scaled residual values produced in Step (e).

In this aspect the invention provides the advantage of potential foraccuracy and efficiency. A synchronous estimation followed by a localasynchronous search permits efficient acquisition and tracking ofperiodic signals. The invention improves SNR in comparison with Fourierharmonic analysis by profiling each periodic component using the mostappropriate orthogonal basis cyclets, thereby requiring fewer degrees offreedom and hence reducing the level of noise.

In another aspect this invention provides a signal processing systemcharacterised in that it incorporates:

(a) a transducer for transforming physical phenomena into a receivedsignal data stream;

(b) a predictor for providing a predicted signal comprising a predictedestimate of at least one component of the received signal;

(c) a remover for subtracting the predicted signal from the receivedsignal to generate a residual signal;

(d) an evaluator for generating a pseudo-integrated signal comprisingsets of pseudo-integrated components each set corresponding to onepredicted signal component and for correcting the predicted signalcomponents using this set of pseudo-integrated components, wherein eachset of pseudo-integrated components is derived from the residual signaland predicted signal components by adding at least a proportion of thepredicted signal component to the respective residual signal scaled by apseudo-integrating factor ρ having a value between zero and unity; and

(e) an updator for correcting the predicted signal components to producea corrected estimate of the received signal components.

The predicted signal component is preferably scaled by multiplying it by(1−ρ) to obtain the proportion thereof for addition to the scaledresidual signal.

In this aspect, the invention provides a powerful signal processorcapable of distinguishing noise from other factors influencing signalmagnitude and clarity with computational efficiency. Potentialapplications of this processor are numerous: a whole range of signalfactors may be extracted from a noisy signal, and parameters descriptiveof each component can be selected to suit a system producing the signal.

The evaluator preferably comprises an estimator for deriving locallyperturbed errors in model descriptors of each predicted signal componentusing each set of pseudo-integrated data and for resealing the locallyperturbed errors by dividing by the pseudo-integrating factor ρ; andwherein the updator is arranged to produce a corrected estimate of thereceived signal components by adding the rescaled locally perturbederrors to the model descriptors thereof and thereby producing a set ofpseudo-integrated model descriptors and the updator is further arrangedto smooth and/or track the pseudo-integrated model descriptors andthereby correct, update or predict values thereof.

The predictor may be arranged to detect at least one approximatecomponent of an incoming signal, and the evaluator may be arranged toprovide a measure of error within such approximate components and theupdator is thereby arranged to generate components with improvedaccuracy.

The predicted signal preferably comprises predicted estimates of morethan one component of the received signal and that the detection systemis arranged to detect components iteratively.

The predictor may be arranged to detect approximate parametersdescribing an incoming signal, the evaluator may be arranged to providea measure of error within such approximate parameters and the updatormay be arranged to generate parameters with improved accuracy.

The signal components are preferably periodic components and thereceived signal data stream is preferably a digitally sampled datastream clocked through the system in segments.

The detection system may also include a cyclet remover arranged togenerate a residual data signal from a segment of the digitally sampleddata stream by subtraction from that sampled segment of sampled cycletamplitude values appropriate to predicted periodic components, whereinsaid predicted periodic components represent a superposition of cycletamplitude profiles sampled synchronously with the sampled segment.

The predictor may comprise a filterbank which in turn comprises a testset of filter sizes arranged to analyse a data stream in the time domainand generate an approximate maximum likelihood estimate of dominantperiodicities of periodic components within the signal.

Each filter in the filterbank is preferably arranged to slice thereceived signal data stream into a non-overlapping series of datablocks, wherein each data block contains an integral number of samplepoints and the maximum likelihood estimator is a power spectrum averagedover of several adjacent data blocks. The filterbank may comprise a setof test periodicities, each test periodicity being a multiple of theinter-sampling period of the received signal data stream.

The system may also include cyclet quantifier arranged to identify thenature of peaks arising in the maximum likelihood spectrum and therebyto identify those which arise by way of a test periodicity approximatingto an actual periodicity within the received signal data stream.

Preferably, the predicted estimates of the received signal are averagedsampled values of cyclet amplitude profiles provided by the filterbankand corresponding to peaks in a power spectrum and the remover,evaluator and updator components of the signal processor system may bearranged to produce corrected estimates of predicted cyclet amplitudeprofiles of dominant periodic signal components.

The system may incorporate a predictor arranged to generate a predictedestimate of a received signal on the basis of corrected estimates ofpreviously predicted received signals generated by the updator. Thereceived signal data stream may comprise at least one distincttime-varying component.

The system is preferably arranged to track detected signal componentswith time wherein the evaluator is arranged to use the pseudo-integrateddata sets to correct for prediction inaccuracies in the predictedestimates of received signal components.

The signal components may be periodic components and the received signaldata stream is preferably a digitally sampled data stream clockedthrough the system in segments.

The system may also include a cyclet remover arranged to generate aresidual data signal from a segment of the digitally sampled data streamby subtraction from that sampled segment of cyclet amplitude valuesappropriate to predicted periodic components (cyclet amplitude profiles)sampled synchronously with the sampled segment.

The predictor may be arranged to provide a predicted estimate of thereceived signal in the form of predicted timing and amplitudecoefficients describing an amplitude profile of each detected periodiccomponent and the predicted cyclet amplitude values appropriate to theamplitude profiles of all detected periodic components in the time frameof an incoming data segment; and the evaluator is thereby arranged tomeasure errors in the predicted timing and amplitude coefficients.

In a preferred embodiment, the updator is arranged to correct thepredicted timing and amplitude coefficients in accordance with theerrors measured therein and so produce corrected timing and amplitudecoefficients; and the tracking system is arranged therewith to predictthe timing and the predicted cyclet amplitude values of each detectedperiodic component in a future incoming data segment and also to predictthe changing amplitude profiles of each detected periodic component.

The predictor may incorporate respective history caches of previouslypredicted timing and amplitude coefficients and the corrected timing andamplitude coefficients wherein the predictor is arranged to curve fittracks to values within each respective cache.

The predictor may be arranged to evaluate tracks at sampling points of afuture incoming data segment and thereby to provide predicted amplitudevalues appropriate to the future segment and pass these predicted cycletamplitude values to the cyclet remover.

In an alternative aspect, this invention provides a signal processingsystem for generating low bandwidth data from an analogue input signalcharacterised in that the system incorporates the tracking system asdescribed above wherein the predicted cyclet amplitude values of eachdetected periodic component are extracted from the tracking system via acyclet data output.

The system may be arranged to remove at least one dominant audiocomponent from a multi-component audio signal characterised in that itis a first such system and it is disposed with a second such systemarranged to detect selected dominant audio components, and the systembeing arranged to track each selected dominant audio component andincluding a residual signal output arranged to output a residual signalgenerated from a sampled input signal less the predicted amplitudevalues of each selected dominant audio component.

The system may be arranged to isolate at least one dominant audiocomponent from a multi-component audio signal characterised in that itis a first such system and it is disposed with a second such systemarranged to detect selected dominant audio components, the first systembeing arranged to track each selected dominant audio component andincluding a signal output channel arranged to output corrected orpredicted amplitude values of each selected dominant audio component.

In order that the invention might be more fully understood, anembodiment thereof will now be described with reference to theaccompanying drawings in which:

FIG. 1 is a representation of a signal generated by a single periodicsource.

FIG. 2 is a representative data stream for analysis by the detectionsystem of the invention.

FIG. 3 is an overview of the components of the detection system.

With reference to FIG. 1, amplitude variation with time of a singleperiodic signal component 10 is illustrated. An asymmetric unit 12 whichreplicates itself after a time period τ is depicted. Each periodicsignal component such as that illustrated 10 is described as a cyclet 12which substantially repeats with periodicity τ. The signal is sampled atdiscrete time intervals, as indicated by marks 14 along the time axis.

FIG. 2 is a representation 30 of a digitally encoded signal. Each smallbox such as 32 is represented as containing several bits of information(a digital word) which denotes in digital form the magnitude of thesignal at each sample point 14. Each segment (alternately shaded) oftwenty small boxes is a sound segment 34 and the lower arrow indicatesthe extent of a data segment 36: twenty six words in this particularexample, but variable. The difference between data 36 and sound 34segments will become apparent later but, in summary, the signal is inputfor analysis (clocked) in sound segments 34 whereas analysis of thesignal is carried out on data segments 36, which may be varied dependingon the stage of the analysing procedure and the actual componentspresent in the signal.

With reference to FIG. 3, a detection system for detectingmulti-periodic components of sound is indicated generally by 50. Thesystem 50 comprises a microphone transducer 52 which detects soundsignals and passes a corresponding electrical representation to ananalogue to digital converter (A/D converter) 54. Digital output fromthe A/D converter 54 is input as a data stream to a computer where it isstored in a main cache memory 56. Data flow is regulated by a flowcontroller 58 which controls data input, output and analysis throughfour system components: a cyclet detector 60, a cyclet remover 62, acyclet tracker 64 and a track remover 66. These four components areinterconnected and each also comprises various sub-components. Inparticular, the cyclet detector 60 comprises a filterbank 70 whichreceives data via a detector cache 72, a selector 74, a cycletquantifier 76 and an estimator 78. The cyclet remover 62 includes aprediction subtractor 80. The cyclet tracker 64 comprises an errorevaluator 90, a PIdata cache 91, an updator 92 and a cyclet predictor94. The track remover 66 comprises a merge determinator 100, SNRevaluator 102 and a track quantifier 104. These sub-components areinterconnected in a manner which will become apparent in an overview ofdetection system operation presented below. Various outputs 106, 108,110 from the system 50 are available: a residual signal output 106 fromthe cyclet remover 62, a predicted cyclet waveforms output 108 and acyclet data output 110 from the cyclet tracker 64. These may be usedvariously for onward transmission, for further processing or for directpresentation to the operator.

The system 10 will be described in overview first, and a detaileddescription is provided later.

With reference to FIG. 3, sound associated with any phenomenon with aperiodic component is detected by the microphone transducer 52. In thisembodiment the source of the detected sound is taken to be rotatingmachinery of many parts. One skilled in the art of signal processingwill appreciate that this is not a limitation on the applicability ofthe invention. There are many multi-component phenomena which may beanalysed in accordance with this invention and the example of periodicsound components emanating specifically from rotating machinery isincluded by way of illustration only.

The structure of an overall sound signal (which will be termed acomposite signal) from such rotating machinery is highly complex. Itwill contain component signals from all moving parts whether rotating,vibrating or in irregular motion. The detected signal is thus acombination of sounds from multiple sources each of which will generallyhave a distinctive character, intensity and periodicity. Such acomposite signal is referred to as a multi-periodic signal. Moreover,neither the intensity nor periodicity of signal from any one source islikely to be constant with time: for example, consider the effect of agear change on the sound of a car engine, and the composite signal willbe further complicated by sounds from non-periodic sources and generaladditive noise.

Before considering the operation of the apparatus of the invention it isconvenient to set a framework within which the structure of thecomposite sound signal can be described. The composite signal can beconsidered an assembly of non-periodic components, noise and replicatedcyclets, each cyclet having a characteristic amplitude profile andperiodicity, such as cyclet 12 with periodicity τ as illustrated in FIG.1. This embodiment is concerned with composite signals in which somecontribution is made by periodic components (cyclets), and if there ismore than one such periodic contribution the composite signals arereferred to as comprising multiple periodicities. In addition, the termnon-stationary is used to describe a cyclet periodicity or amplitudeprofile that changes over time. If a cyclet is sampled discretely intime the relative position of its amplitude profile with respect to thesampling times is referred to as a timing measurement. This timing islinked to cyclet periodicity.

With reference to FIG. 3, the microphone 52 converts the composite soundsignal into an electrical signal which is output to the A/D converter54. This electrical signal is amplified and digitised by the A/Dconverter 54 to form a word data stream, such as that illustrated inFIG. 2, which is stored in the main cache memory 56. From this memory 56the progress of data between the cyclet detector 60, cyclet remover 62,cyclet tracker 64 and track remover 66 is regulated by the flowcontroller 58.

The four components 60, 62, 64 and 66 together resolve the data stream30 into its component periodic parts. This is done by detecting andtracking the evolution of cyclet bases. Initial cyclet detection iscarried out by the cyclet detector 60 and a tracking mechanism monitorsnon-stationary cyclet periodicities and amplitude profiles. Afterdetection, cyclets are extracted from the incoming data stream and aresidual signal containing as yet undetected cyclets, non-periodicsounds and noise is produced. The system 50 is highly flexible in thateither one or a number of cyclets can be collectively or individuallymonitored in isolation from the rest of the signal. Alternatively one,or a number of, cyclets can be selectively removed and the residualsignal 106 comprising the remaining (periodic and non-periodic) soundsmonitored. Thus in the presence of an extremely loud periodic source thecyclet(s) due to that source would be extracted from the incoming signaland the residual signal monitored via the residual signal output 106. Analternative situation may demand monitoring of one or more quietperiodic sounds isolated from the initial signal by the system 50 andoutput either individually or combined via the predicted cyclet waveformoutput 108.

Central to the operation of the cyclet tracker 64, and to some extentthe cyclet detector 60, is a novel technique known aspseudo-integration. Pseudo-integration enables small systematic errorsin a function to be separated from noise without incurring integrationlag. It is applicable to situations in which a set of parameters areexpected to change with the progress of a second variable, say time.Values of parameters are predicted for the next incoming segment of dataand used to derive a residual error function from the actual incomingdata. Pseudo-integration combines predicted information with theresidual error function in such a way that localises the effects ofnoise but retains unchanged the inevitable systematic errors in thepredicted values of parameters. Past predictions of parameters and theerrors obtained by the pseudo-integration technique are summed andsmoothed to give a “track” of each parameter by a suitable standardsmoothing method such as weighted least mean squares. A history cache iscontinually updated with new pseudo-integrated values for each parameterwhich, if the localisation is reasonably close to the actual parametervalue, are essentially independent of past predicted values. Thisflexibility is not available in the prior art Kalman filter trackingroutine. This routine is unable in this retrospective manner tocompletely correct prediction errors thereby causing lag and bias in theparameter estimates.

The stages in the application of pseudo-integration to this embodimentcan be summarised as.

1. Define a set of parameters which describe the values of real data.

2. Prior iterations of the cycle will have established previousestimates of each parameter which are stored in respective historycaches each containing, say, six estimates of the respective parametervalue.

3. Track fit to the si;x values in each history cache and extrapolatethe tracks to predict the next (seventh) value of each parameter.

4. From these parameters calculate the values of data which arepredicted to be found in the next incoming segment of data.

5. Derive residual error data by subtracting the predicted data from theactual incoming data. The residual error data will contain noise andsystematic errors due to inaccuracies in the predictions.

6. Pseudo-integrate the data to generate an estimation spectrum. Tocarry out pseudo-integration, scale the predicted data to a level (1−ρ)and add this to the residual error data scaled to a small level (ρ).This avoids the inclusion of spurious maxima in the estimation spectrumcaused by noise and other unpredicted components.

7. Re-estimate the values of the required parameters from the spectra ofthe pseudo-integrated data. The scaling levels adopted ensure that thepredicted data dominates the new estimates of the parameters.

8. For each parameter find the difference between the new estimate andthat predicted by and rescale this difference back to its original levelby multiplying by 1/ρ.

9. The rescaled difference is added to the predicted value and stored inthe seventh position in the respective history cache and the earliest(first) value is cleared.

10. Track fit to the six values in the history cache and predict thenext value as before. This ensures that in a non-stationary environmentthe most recent results are given the most weight.

11. Continue cycling from Step 5 to 10 and the data is said to be “beingtracked”

The term “track fitting” in this specification means any suitable curvefitting routine applied to values stored in a history cache. Initially,there will be no history cache and estimates have to be made. An initialparameter set can be obtained from a detector stage where data isaveraged over a suitably long period of time.

With reference to FIGS. 2 and 3, the data flow controller 58 extractsdata from the main cache memory 56 in packets which are termed soundsegments 34. These segments 34 are input to the detector cache 72 of thecyclet detector 60 via the cyclet remover 62. The cyclet remover 62 doesnot act on the incoming sound segments 34 until at least one periodiccomponent has been detected in the data stream. Although the system 50is clocked in sequences of sound segments 34, the cyclet detector 60 mayneed more or less data at various stages of its operation andconsequently incorporates its own cache memory, the detector cache 72.The detector cache 72 caches the sound segments 34 and passes them tothe filterbank 70 in packets which are referred to as data segments 36.

In detector operations subsequent to input to the detector cache 72, thepacket size (sound segments) at which the main cache 56 outputs isirrelevant. Cyclets are detected as the data is analysed in datasegments 36. With reference to FIG. 3, the filterbank 70 is essentiallya set of filter sizes, each responding to a different periodicity, withwhich to analyse the data segments 36 and hence obtain an initialestimate of cyclet profile and periodicity.

The data segments 36 are not of constant size and are adapted by thedetector cache 72 to a size appropriate to the requirements of eachfilter in the cyclet detector 60 at any one time. When detecting newcyclets, the detector 60 measures an average cyclet over a number ofrepeats and therefore requires a data segment size which contains asufficient number of cyclet repetitions to support such averaging. Inthe example shown in FIG. 1, the cyclet period is contained withintwelve sampling points 14. If five repeats are suitable for theaveraging function, then the data segment 36 must contain at least sixtywords. This corresponds to sixty small boxes 32 in the data streamrepresentation of FIG. 2. Each sound segment 34 of this Figurecorresponds to twenty small boxes 32 and therefore three such soundsegments 34 are required in order to detect the cyclet 12. If anothercyclet to be detected occupies fifteen sampling points, the data segment36 with five repeats must contain at least seventy five words. Thisrequires four sound segments 34 and so the detector cache 72 will storean additional segment 34 for filterbank use.

The filter sizes are constrained to be synchronous with the datasampling rate in that each member of the filter set has a window sizewhich corresponds to an integral number of data words.

The data segment 36 is then “sliced”, most recently received data wordfirst, into data blocks in accordance with the test period (s) of eachfilter in the bank. An averaged cyclet vector and the mean cyclet powerassociated therewith are derived for each test period from thecorresponding data blocks. This slicing and averaging is repeated acrossthe filterbank 70 and so enables the filterbank 70 to provide a powerspectrum (P(s)) across a range of test periodicities. This powerspectrum provides a measure of the probability that the selection madeby each filter corresponds to an actual cyclet periodicity present inthe data stream.

The power spectrum (P(s)) is output from the filterbank 70 to theselector 74. The selector 74 identifies prominent peaks in the powerspectrum and presents this information to the cyclet quantifier 76. Thecyclet quantifier 76 determines the nature of each peak: is it above anoise threshold, is it due to “ringing” or to a sub-harmonic for whichfilter size is a multiple of the true cyclet period? When the quantifier76 is satisfied that a true fundamental cyclet has been found, it passesthe relevant cyclet information to an estimator 78 which is arranged toperform a local “asynchronous” refinement to obtain an accuratenon-integral measure of cyclet periodicity. This asynchronous techniqueis not a standard technique, but based on a novel operation calledpseudo-integration.

The accurate cyclet model is passed to the cyclet tracker 64 with aninstruction to add this as a new track to its current list of detectedcyclets. After the initial detection the cyclet tracker 64 extrapolatesthe accurate cyclet model to the time frame of the next incoming soundsegment 34 to be clocked through the system 50. The sampling rate insubsequent sound segments will generally not be synchronised with therate of cyclet replication and this extrapolation therefore involves anevaluation of the “phase” of the cyclet at the relevant samplingpoints—the timing. These predicted cyclet values of the newly-detectedtrack are combined with cyclet values of previously detected cyclets andinput to the cyclet remover 62.

In this specification the phase information will be referred to as“cyclet timing” and a timing error is accordingly generated by thecyclet tracker 64. A timing error may arise for a number of reasons: theperiodicity of the source may change abruptly, the timing of the sourcemay change abruptly, the predicted periodicity variation may beincorrect which will lead to timing errors in predicted segments, or theperiod may be correct but the position of the cyclet within the soundsegment may be incorrect.

The cyclet tracker 64 is responsible for tracking the whole range ofcyclets once the initial detection and characterisation has been made bythe cyclet detector 60. In this regard, the tracker 64 compares one ormore predicted cyclet profiles with cached data representing theresidual signal and updates all parameters by amounts that are intendedto minimise prediction errors in the next sound segment 34. The residualsignal, in general, contains noise, interference and other undetectedperiodic components that may have intensities significantly greater thanprediction errors in the cyclet profiles. The cyclet tracker 64 isolatesthese relatively small prediction errors in two independent stages: apseudo-integration followed by a track fitting routine for smoothingpast outputs. The resulting curves are extrapolated to the time frame ofthe next sound segment and are hence used to generate predictions of allrelevant parameters. These estimates are available at the cyclet dataoutput 110 and a sound data stream maintained in this compressed formatis capable of being transmitted through a channel of far lower bandwidththan the original signal. The estimates are also passed to the predictor94 where the predicted cyclet profile values are evaluated atappropriate sample times and passed to the cyclet remover 62 where aresidual signal for the next sound segment is calculated. Updates to theparameters are carried out at suitable intervals. Intervals can be shortwith only a small cache of past outputs kept if the parameters arechanging rapidly or less often with a larger history cache if parameterevolution is slow. This provides a direct means for time versus periodanalysis in real-time practical situations.

The cyclet remover 62 subtracts any predicted cyclet values which itreceives from the tracker 64 from the actual incoming sound segment toform a residual signal. This residual signal now forms the input both tothe cyclet tracker 64 and to the detector 60. This enables the cyclettracker 64 to form a prediction for the next incoming sound segment asdescribed above and the cyclet detector 60 to reiterate its detectioncycle, also as herein described, in order to detect weaker orlonger-period cyclets. The subtraction is iterative as each cyclet isdetected sequentially until none remain above the limiting noisethreshold. When all detectable periodicities have been cancelled, thelikelihood spectrum should be near isotropic. The cyclet tracker 64 thencontinues to track and predict future sound segments in the time series.

Non-stationary periodicities may gain strength with time or weaken anddisappear. The track remover 66 is arranged to monitor the cycletwaveforms predicted by the cyclet tracker and instruct the cyclettracker 64 to cease applying its tracking routine to a particular cycletshould that cyclet track terminate. The output from the predicted cycletwaveform output 108 is input to the merge determinator 100 sub-componentof the track remover 66. The merge determinator 100 searches forevidence of two or more tracks merging to form a single track. If suchevidence is found the merge determinator 100 instructs the cyclettracker 64 to remove one or more cyclet tracks. Non-merging tracks arepassed to the SNR evaluator 102 which evaluates the signal to noisepower ratio for each cyclet. The track quantifier 104 then determineswhether the signal from any particular track has dropped below the noiselevel. The SNR evaluator 102 and track quantifier 104 are capable ofdetecting both the sudden disappearance of a cyclet track from theincoming segment, a situation which would arise if for example the soundsource was switched off, and also the gradual fade of a cyclet amplitudeprofile to a weak level. In either case, an instruction is sent to thecyclet tracker 64 to remove that cyclet track.

The operation of the cyclet detector 60 will now be described in detail,beginning with the detector cache 72 and filterbank 70 sub-components.The filterbank 70 used in this specific embodiment adopts a slidingwindow procedure. The window lengths are measured in units of data wordsand constrained to be an integral number of such words. This is known assynchronous detection—an approximation is forced on the detected cycletperiod in that it is assumed to be synchronous with the data samplingrate of the A/D Converter 54. The filterbank contains a set of filterseach matched to a different integer-valued periodicity. Each filter usesa different selected window length containing an integral number of datawords. The filter is thus performed in the time domain or, equivalently,in the domain of data words. For each window length, the segment 36 ispartitioned into a series of non-overlapping data blocks and the degreeof similarity (periodic correlation) between the partitioned blocks ismeasured. This is done by stepping the sliding window along the datasegment 36 extracting each successive block and superimposing it on thesum of several previous blocks. This summation is normalised to thetotal number of blocks in the data segment 36 to produce an averagedcyclet profile. This averaged function is termed the cyclet vector.Coherent averaging (integration) of the data blocks will only beobtained if the test period established by the window length matches therepetition period of a periodic component within the original signal.Thus the filterbank 30 applies a test set of sliding window lengths toeach data segment and generates an estimated cyclet for each windowlength. The cyclet vector is not itself an appropriate maximumlikelihood indicator, being essentially an amplitude profile functionwhich varies over the words in a block. To provide an appropriateindicator the filterbank 70 also calculates for each filter a value (P)indicative of the mean power in each cyclet vector, with an appropriateadjustment made for variations in the noise floor which will bedescribed later.

During the start up phase, the sequential input of sound segments 34 tothe detector cache 72 dictates the order of cyclet search. Initially,when only a few sound segments 34 are cached, the data segments 36provided by the detector cache 72 will contain insufficient data wordsfor the averaging process in the filterbank to be performed by filterswith large window sizes i.e. long periods (s). However, as subsequentsound segments 34 are included in the detector cache 72, the datasegments 36 available to the filterbank 70 comprise increasingly longerdata streams enabling searches for longer period cyclets to beundertaken.

The filterbank 70 uses the computationally efficient synchronous methodimplemented using a standard sliding window. Its basic operation in thisembodiment can be described mathematically. A cached data segment 36passed to one of the filters corresponds to an analogue signal sampledat n discrete points and is represented as a series of n data words.These data words (b_(i), i=1 to n) are grouped into m non-overlappingblocks (w_(j), j=1 to m) each comprising s words where s isinteger-valued and denotes the size of the sliding window and also thetest period associated with the particular filter being used from thefilterbank. A cyclet vector (w={overscore (b)}(s) ) for the test periods is then estimated from an average of these m blocks:${{cyclet}\quad {vector}} = {{\overset{\_}{b}(s)} = \frac{\sum\limits_{j = 1}^{m}w_{j}}{m}}$

The s values in this averaged cyclet vector define an estimatedamplitude profile for the one value of test period. The value of m isuser-defined (generally 5) to provide sufficient integration andfiltering.

The filterbank 70 also produces measurements of estimated mean signal tonoise power ratios (SNR) of the cyclet vectors, one value per filter ortest period. This is given by: $\begin{matrix}{{P(s)} = \frac{\text{estimated~~signal~~power(s)}}{\text{expected~~noise~~power(s)}}} \\{= \frac{\frac{1}{s}\quad {\sum\limits_{i = 1}^{s}{\overset{\_}{b_{i}}(s)}^{2}}}{N(s)}}\end{matrix}$

where i is a pointer to a word in the vector {overscore (b_(i)+L)}(s)_(i) the estimated amplitude profile of the cyclet vector for thetest period of s. Each value of P(s) defines an estimate of the relativelikelihood that the test period s is a best descriptor of the inputsound data stream. The most probable period is therefore obtained bycomparing the output SNR of all of the filters in the filterbank 70 andsearching for one or more valid maxima i.e. peaks in the spectrum P(s).

The effect of subtracting previously predicted cyclets from the inputdata stream before the detector searches for as yet undetected cycletsmeans that there is some distortion of the expected noise power spectrumN(s). The input data stream will include noise or other additiveinterference that is not completely suppressed by the filteringprocedure. Previously predicted cyclets will include some leaked noiseand this is subtracted from the incoming data stream by the cycletremover 80, along with predicted cyclets, to provide the residualsignal. The detector 60 uses this residual signal to generate a(residual) power spectrum for use in its search for other periodicities.Since any noise component leaked by the filter is also subtracted by thecyclet remover 80, this residual power spectrum contains dips below thenoise level. These dips are centred on the periods (and multiplesthereof) of the detected cyclets. To avoid estimation bias, the noisepower spectrum N(s) is renormalised to contain dips of similar shape atthe same locations. Thus, the noise power spectrum is unchanged if nocyclets have been cancelled, otherwise it is reduced, for each cycletsubtracted, by a term equivalent to the power spectrum of that cycletscaled to an SNR of unity.

The test periodicities s used in the filterbank 70 are specified by theuser in accordance with the source of the composite sound signal beinganalysed. The selected filterbank set should span the full range ofperiodicities expected in the data stream generated by that source. Forincreased resolution the set may, particularly at low values of period sand high values of m, include non-integer periodicities σ=s+f where flies between 0 and 1. Here a refers to a filter set containing bothinteger and non-integer filter sizes, although resulting power spectraP(σ) are still generated by the synchronous method. Additional points inthe power spectrum P(σ) are thus generated which will aid interpolationwhen detecting cyclets with the smaller non-integer periodicities τ. Inthis case the size of the sliding window is s and (as for the integercase) s sampled points are taken in each data block. However, the windowthen slides to positions which are multiples of σ taking s sample pointsat each position. In this embodiment the filterbank 70 selects thenearest integer-value of the non-integer window position. Thisapproximation may result in non-contiguous data blocks being averaged.Sampled points from different data blocks are overlaid and averaged asbefore, but there will be some error in the estimate of cyclet profilebecause the m sampled versions of the cyclet are not all at the samesampling phase. However, it does prevent a more serious runaway effectas the errors due to a fractional cyclet periodicity would otherwise becompounded in successive data blocks.

This shortcoming of the synchronous method, with or without the infillapproximations made above mean that further refinement of cycletcharacteristics is necessary when searching for non-integerperiodicities τ. Such refinement is done by the cyclet estimator 78using a computationally more expensive asynchronous method.

An alternative embodiment uses the computationally more expensive combfilters in place of the synchronous averaging filterbank 70. Thisalternative reduces the number of degrees of freedom in the estimationprocess and consequently provides the potential for an improved signalto noise ratio.

The filterbank 70 outputs to the selector 74 the SNR (P) produced byeach filter in its set as a function of its test periodicity (σ words).This is referred to as a power spectrum (P(σ)). The selector 74 analysesthis discrete spectrum and identifies the positions of maxima. Values ofthe cyclet vectors and the power spectrum (P(σ)), over the range oftested values of σ, are passed to the cyclet quantifier 76 which isarranged to determine the nature of each maximum.

In relation to each detected cyclet vector, the quantifier 76 firstdetermines whether the power (P(σ)) of that cyclet vector, detected bythe synchronous method, is above a particular pre-set threshold—thenoise detection threshold. If this is the case, the quantifier 76 thenassesses whether or not the detected cyclet vector is a fundamentalcomponent.

An inherent characteristic of a power spectrum evaluated as a functionof test period is that it will contain a number of distinct maxima. Inaddition to the case of a true cyclet (of which a number may bepresent), these maxima may fall into one of two categories. First, someoccur at sub-harmonics where for example the test period is twice orthree times the true period of cyclet replication. Secondly, there maybe filter leakage at other points in the spectrum due, for example, tosome degree of periodicity in the cyclet itself (ringing). This mayarise if the cyclet approximates a damped complex exponential. Thecyclet quantifier 76 is arranged to reject maxima due to sub-harmonics,leakage and noise and select one of the valid maxima.

Noise is dealt with straightforwardly by setting the threshold level (asdetailed above) above its expected maximum.

To deal with the other categories, the cyclet quantifier 76 performs asearch for local maxima from short to long test periods. It will thus,of necessity, find the fundamental periodicity maximum before reachingthose due to sub-harmonics. This is not the case for ringing effectswhich will produce local maxima at test periods shorter than the truecyclet repeat. Therefore each maximum is tested for likely evidence ofringing. This is done by using an increased number of data blocks withwhich to calculate the averaged cyclet vector. Generally, if the truecyclet repeat has been found, then increasing the number of samples inthe average will increase the SNR of the power value P(σ). If however,the repeat is due to ringing then the damped nature of the effect meansthat increasing the number of samples will decrease the signal and hencethe value of the power P(σ). Thus, if the SNR decreases, rather thanincreases, the quantifier 76 rejects this periodicity and continues itssearch for the next significant maximum.

The cyclet quantifier 76 thus determines whether or not anabove-threshold maximum in the power spectrum is a fundamental. If it isnot, then the quantifier 76, instructs the filterbank 70 to provide thenext local maximum and repeats its verification test. Once the dominantfundamental within the filterbank 70 has been found, its cyclet vectorand periodicity are output to the estimator 78. If no above-thresholdmaxima are found, there are assumed to be no further cyclets in thecomposite sound signal.

Generally, the periodicity of a cyclet will not be an integer multipleof the sampling interval used in the original digitisation of thesignal. The synchronous method of cyclet detection and estimationperformed by the filterbank 70, selector 74 and quantifier 76 will thusproduce only an approximation to the true repeat and fine tuning isrequired. This fine tuning is carried out by the estimator 78.

The estimator 78 extracts successive data blocks in accordance with thesynchronous period σ. Each data block is pseudo-integrated bysubtracting the mean cyclet values (amplitude values at the wordposition indicated by pointer i in the cyclet vector {overscore (b_(i)+L)}(σ)) derived by the filterbank 70 to form a residual error data block,weighting the residual by ρ and adding to the mean cyclet valuesweighted by (1−ρ). The pseudo-integrated blocks are folded andpositioned on a single plot. The superimposed cyclet amplitude profilesfrom successive blocks will exhibit a drift to either the left or rightdepending on whether the true cyclet repeat (τ) is shorter or longerrespectively than the synchronously estimated period (σ). A curvefitting routine is used to fit an amplitude profile to the mean value ofthe pseudo-integrated amplitude data within this superimposed block.Such a curve fitting routine in which an irregular profile shape isbeing interpolated will be referred to as a profile fit in order todistinguish it from the track fit whose purpose is extrapolation. Theoffsets along the abscissae of the pseudo-integrated data points fromthis mean amplitude profile provide a basis for a correction to theestimated test period σ. The offsets are divided by thepseudo-integrating factor ρ and a linear regression approximationapplied. The gradient of this fit, measured with respect to the numberof the block, yields the error correction. The synchronously estimatedperiod σ is therefore corrected to a new non-integer period τ which istaken to be that of the cyclet. This information is passed to the cyclettracker 64 for use in the tracking function.

By applying the periodicity constraint separately from the profilefitting routine the number of degrees of freedom can be minimised. Thismaximises the scope for noise reduction. In generating the powerspectrum by the synchronous method, each of the s points in a cycletvector is used. This means that s degrees of freedom contribute to thenoise if smoothing is not used. In the asynchronous method however aprofile fitting routine e.g. least squares fit is used. This routine hasfewer degrees of freedom and consequently improves the signal to noiseratio.

In some situations it may occur that the relative sample timings fromone segment to the next vary quite significantly. In such instances thescaled offsets are modulated significantly and, on rescaling, reachunacceptable levels. Near-conventional tracking could be used in thisinstance, but then integration lag would be a potential problem. Howeverif there are no ambiguities in the likelihood functions, then anacceptable technique is to set the value of the pseudo-integratingfactor ρ to unity or close to unity in the profile fitting stage. Thisminimises possible coefficient modulation effects caused by asynchronoussampling.

Furthermore, profile fitting is not particularly effective when fittinga smooth curve to a transient edge near the centre of the window. Inadapting the fit to the transient, the fit at points both to the leftand to the right of the transient are perturbed. Accordingly, theaccuracy of the curve fitting routine can be increased if the transientedge of a cyclet is positioned at the start of the window. The transientcan then be excluded from the main fitting process and then eitherfitted separately or ignored, as required. The estimator 78 thus alsoperforms a procedure which repositions a transient edge to the start ofa window before the profile fitting routine is carried out.

The profile fitting routine used by the estimator 78 is user-definable.In this embodiment the fit is to an nth order polynomial where thecyclet amplitude profile is described by the equation:

y=a ₀ +a ₁ x+a ₂ x ² + . . . +a _(n) x ^(n)

where the y-values represent the cyclet amplitude and the x-values thetime (data sample point) within the cyclet. The parameters a₀, a₁, a₂, .. . , a_(n) are termed the cyclet coefficients. From the values of thecyclet coefficients and a knowledge of the sampling points 14 of thecyclet, revised values of the cyclet vector w=[b₀, b₁, b₂, . . . ,b_(s)], where the b values (cyclet values) are the amplitudes at ssample points in the cyclet, are deduced.

The estimator 78 then passes these accurate values of cycletcoefficients, values and periodicity along with an instruction to add atrack to the cyclet tracker 64.

The detector 60 is set up to repeat the above described process ofcyclet detection finding progressively weaker and longer cyclets untilthe noise limit is reached. Each tracked cyclet is subtracted fromfuture incoming sound segments 34 by the cyclet remover 62, but thiscomponent cannot affect sound segments 34 already stored in the detectorcache 72. The estimator 78 is therefore also arranged to extrapolate thepast history of each cyclet on its initial detection and subtract thisfrom the sound segments 34 stored in the detector cache 72. It isnecessary to extrapolate back through all the cached sound segments 34which will subsequently be used in the averaging stage of new cycletsynchronous detection. This allows previously used sound segments 34 tobe reused in subsequent cyclet detections without waiting for thedetector cache 72 to refill with valid residual signal data. If detectedcyclets were not deleted from this data then they would still be presentin the data used for averaging and their corresponding maxima would notbe eliminated from the power spectrum until several more data segmentshad been clocked.

On initial detection of a cyclet, the past history derived by theestimator 78 is also passed to the cyclet tracker 64 with the cycletinformation and instruction to add a track. The cyclet tracker 64 usesthis information to extrapolate the newly-detected cyclet and predictits amplitude values within the next sound segment 34 to be input to thesystem 50.

In an alternative embodiment, applicable to systems in which a soundsignal emanates from intermittent sources, continuous real-time datastreams 30 are not received and the data is analysed in batch mode. Thesame data segment 36 is then repeatedly re-used until stable tracks areachieved and until no further periodic signals can be detected. Thetrack remover 66 is redundant and is not included in such an embodiment.

In summary then, the estimator 78 refines coarse cyclet data to producean accurate measurement of the cyclet. This is then extrapolatedbackwards through several sound segments 34. An instruction to add a newtrack and the final accurate cyclet details are passed to the cyclettracker 64 for forward extrapolation to the next incoming sound segment34.

The cyclet remover 62 receives the incoming sound segment 34 from themain computer cache 56 and predicted cyclet values for the incomingsound segment 34 from the cyclet tracker 64. The cyclet remover 62subtracts the predicted values from the actual segment values to providea residual signal data segment which it supplies to both the cycletdetector 60 and cyclet tracker 64. This residual signal is alsoavailable for output from the system 50 via the residual signal output106. The cyclet detector 60 adds this residual signal data segment toits detector cache 72. The cyclet tracker 64 uses information within theresidual to estimate errors and to track time-varying cycletperiodicities (τ(t)) and amplitude profiles by exploitingpseudo-integration.

The operation of the cyclet tracker 64 will now be described in detail.The cyclet tracker 64 tracks cyclet coefficients (a₀, a₁, . . . ,a_(n)), cyclet profile amplitude values (b₀, b₁, . . . , b_(s)) andperiod τ for each detected cyclet. In order to enable subtraction ofdetected cyclets from incoming sound segments 34, the system 50 must becapable of predicting each set of cyclet profile values (b₀, b₁, . . . ,b_(s)) for future segments. This is relatively straightforward to doonce the cyclet coefficients (a₀, a₁, . . . , a_(n)) have beendetermined provided that the cyclet period τ remains constant over time.However if τ is a function of time (t) then this variation has to betracked. In this embodiment of the invention the tracking is carried outwith computational efficiency by first predicting the time variation incyclet periodicity and amplitude profile and then, when the actual datais received, measuring errors and performing corrective computations.

The following symbols will be used in this specification to identifyvarious data segments and/or functions:

The incoming sound segment comprises ρ data words and is distinguishedfrom other such segments by subscript “inc”. Immediately preceding andsubsequent sound segments will be labelled with the subscripts “inc−1”and “inc+1” respectively. Thus the incoming sound segment is representedby [ss₀, ss₁, ss₂, . . . , ss_(p−1)]_(inc) or, in shorthand, [ss]_(inc)if sampled discretely and without brackets, ss_(inc), if a continuousinterpolated function is considered.

Predicted cyclet amplitude values, within these sample points aredesignated collectively as${\sum\limits_{cyclets}\left\lbrack {b_{0},\quad b_{1},\quad b_{2},\quad \ldots \quad,b_{p - 1}} \right\rbrack_{inc}} = \left\lbrack {\sum\quad b} \right\rbrack_{inc}$

if discrete and Σb_(inc), if continuous cyclet profiles are used. If oneparticular cyclet is used as an example then the summation sign will bedropped.

The amplitude values within the residual signal data segment, followingsimilar notation, are thus given by:

[r] _(inc) =[ss] _(inc) −[Σb] _(inc)

As the cyclet is a periodic function, sampling points over a number ofrepeats may be folded into one repeat cycle. This will not affect thecyclet profile but, unless the cyclet period is an integral multiple ofsampling intervals, will effectively provide a sampling of the cyclet ata greater number of points. The sampling times within this folded cycletare termed the folded times.

When an instruction arrives from the cyclet detector 60 to add a trackand the tracker 64 is supplied with the cyclet coefficients estimated bythe detector 60 for the current sound segment, the tracker 64 predictsthe amplitudes for the next segment using the relevant sampling pointsin the amplitude profile. Cyclet amplitude values of any previouslydetected cyclets are similarly deduced at the relevant sampling points,this time from the predicted cyclet coefficients generated by thetracking routine. All sets of cyclet amplitude values are input togetherto the cyclet remover 62.

In common with the cyclet detector 60, the cyclet tracker 64 will attimes need more or less data for its operation than that provided by theclocking of sound segments 34. Fundamental to the tracking operation isthe pseudo-integration technique which requires a separate cache memory,the PIdata cache 91. The updator 92 sub-component of the cyclet tracker64 determines corrected cyclet coefficients (a₀, a₁, . . . ,a_(n))_(track) by means of a profile fit to the pseudo-integrated data([PIdata]_(inc)) stored in the PIdata cache 91. To enable this, theupdator 92 requires at least a whole cyclet of information. Moreover inorder to avoid unevenly weighting the folded distribution by providingmore sample points in one region of the cyclet, integral numbers ofcyclet periods are used in the folding operation. This gives rise tothree possible situations and consequent responses from the PIdata cache91. If the incoming sound segment [ss]_(inc) has p sampled data wordsand the cyclet period spans τ (not necessarily integral) samples, then,if n is an integer greater than or equal to 1, the three possibilitiesare:

1. p>nτ

2. p=nτ

3. p<τ

In the first case, the [PIdata]_(inc) values corresponding to all sampletimes within an integral number of cyclet periods are output from thecache and the remainder (<τ) held back. When the subsequently processedsound segment [ss]_(inc−1) is cached with these unused samples, sampletimes within an integral number of the cyclet repeat are output from thetotal ((p−nτ)_(inc)+p_(inc+1)) number of samples now stored in the cache91, with any remainder again being held for use with the next soundsegment [ss]_(inc+2).

In the second case the PIdata cache 91 will be emptied synchronouslywith the clocking of the sound segments 34.

In the third case the PIdata cache 91 waits until enough sound segmentshave been clocked for it to have sufficient samples to cover the cycletperiod and provides outputs to the evaluator 90 only after this isachieved. In the intervening sound segment times, errors in the cycletcoefficients are not evaluated but the coefficients are updated into thetime frames of the intervening sound segments using the existing trackinformation. The period and timing are similarly updated. The evaluator90 and updator 92 therefore receive [PIdata]_(inc) values covering anintegral number of cyclets from the PIdata cache 91. Different periodiccomponents are therefore generally updated at different rates.

The tracking function begins as the incoming sound segment [ss]_(inc) isinput to the cyclet remover. Prior cycles of the cyclet predictor 94will have predicted cyclet amplitude values [Σb]_(inc) to be found inthis sound segment [ss]_(inc) from information derived from prior soundsegments up to and including [ss]_(inc−1). The PIdata cache 91 receivesthese predicted cyclet amplitude values [Σb]_(inc) along with theresidual signal data segment [r]_(inc) from the cyclet remover 62. Foreach individual cyclet being tracked, the evaluator 90 sub-component ofthe cyclet tracker 64 estimates a measure of timing and period errorsusing pseudo-integration.

To perform the pseudo-integration the evaluator 90 generates values ofpseudo-integrated data known as Fldata from the predicted cycletamplitude values and residual segment values. Specifically, theevaluator 90 evaluates:

[PIdata]_(inc)=(1−ρ)[Σb] _(inc) +ρ[r] _(inc)

where ρ is the pseudo-integrating factor, typically ˜0.01.

The [PIdata]_(inc) values are then compared with the cached amplitudevalues [Σb]_(inc) generated by the predicted cyclet coefficients (a₀,a₁, . . . , a_(n)) at the sampling times already determined for thecached segment(s). They will be offset to a degree indicative of thetiming error between the predicted cyclet amplitude values [Σb]_(inc)and the actual cyclet amplitude values present in the incoming soundsegment [ss]_(inc). The evaluator 90 therefore measures the offsets ofthe [PIdata]_(inc) values along the ordinate (timing) axis at the cycletamplitude values [Σb]_(inc). Small values of additive noise orinterference near cyclet amplitude maxima will be interpreted as largetiming errors. To avoid this, the time offset, in units of fractionalsample interval, is weighted strongly where the gradient of the cycletis steepest and attenuated where the gradient is near zero. The weightedoffsets are averaged and multiplied by 1/ρ. This pseudo-integrated valueis indicative of the timing error relative to the predicted timing ofthe cyclet, i.e. it indicates systematic error in the positioning of thecyclet in the sound segment, but it is subject to noise and possible(but reduced) interference from other uncancelled components.

To further reduce noise the updator 92 stores the timing history in asliding window history cache. This provides a record of timing for theprevious q segments including both the predictions and thepseudo-integrated errors evaluated in the evaluator 90. The magnitude ofq is adaptive to suit the cyclet being tracked. If the cyclet timingsvary rapidly, a large history cache would result in early errors beingover-weighted with a consequent undesirable lag. Conversely, slowlyvarying cyclets are tracked with increased accuracy and SNR if thehistory cache is larger. For the purposes of this embodiment, a cachesize of six is used and assumed adequate for the cyclet presented as anexample. When the tracking procedure is instigated for the first time inrelation to any particular cyclet the timing history is obtained fromthe estimator 78 sub-component in the cyclet detector 60. If weak highlynon-stationary periodic components are expected, a more accurate initialhistory cache is generated by iterating the track refinement routine inthe cyclet detector 60. When a new value of timing error is measured,the updator 92 removes the earliest timing estimate from the historywindow and replaces it with the most recent. A least squares fit isperformed on this set of six timings to derive a timing function. Theorder of the fit may be user-defined, but generally a fit to firstorder, based on a linear regression approximation, suffices. Thus atiming error function with equation y=mx+c is obtained. This can beextrapolated to predict the timing in the next segment. The gradient mof the extrapolated section is a measure of the cyclet period τ,allowing re-evaluation of the period for the next sound segment[ss]_(inc++1). Generally the gradient will not change dramatically inthe time frame of a few sound segments.

The updator 92 computes the period τ′ of the cyclets in the nextincoming sound segment [ss]_(inc+1) and adjusts the timing to providepredicted start, finish and sampling points. The updator 92 also usesthe pseudo-integrated data [PIdata]_(inc) from the PIdata cache 91 tomeasure the systematic error in the cyclet amplitude values [Σb]_(inc)and in the calculated cyclet coefficients (a₀, a₁, . . . , a_(n))_(inc)for each cyclet being tracked. It then updates these coefficients topredict the cyclet amplitude values in the next segment [ss]_(inc+1).

To derive updated coefficients the updator 92 first fits the[PIdata]_(inc) values to the general curve equation:

y=a ₀ +a ₁ x+a ₂ x ² + . . . +a _(n) x ^(n)

to derive a set of pseudo-integrated coefficients, (a₀, a₁, . . . ,a_(n))_(PI). Other curve functions may be more appropriate to otherapplications of this invention, but a polynomial fit is made in thisembodiment. The error arising from the prediction of each member of theset of tracked cyclet coefficients (a₀, a₁, . . . , a_(n))_(inc) isgiven by the difference between the tracked and pseudo-integrated valuesdivided by the pseudo-integration factor ρ:

for each coefficient a_(L), t=0 to n,${{err}\left( a_{\iota} \right)} = \frac{\left( a_{\iota} \right)_{inc} - \left( a_{\iota} \right)_{PI}}{\rho}$

Pseudo-integrated values of the coefficients are then produced:

a _(l)′=a_(l) +err(a _(l)).

but, as in the timing update, the values are subject to a somewhatreduced noise.

The updator 92 stores the values of pseudo-integrated cycletcoefficients in a cyclet coefficient history. As with the timing historyonly a window of the most recent values is maintained, in this example awindow size of six is sufficient. Separate coefficient histories arekept for each coefficient value a_(L). A straight line fit, e.g. linearregression, is made to the values stored in each coefficient history.

For each cyclet, the track fit (regressed) coefficients for cycletprofile and timing are passed to the predictor 94.

The predictor 94 converts this track information, by extrapolating thefitted lines, into sets of cyclet coefficients (a₀, a₁, . . . , a_(n))and amplitude values$\sum\limits_{cyclets}\left\lbrack {b_{0},\quad b_{1},\quad b_{2},\quad \ldots \quad,b_{p}} \right\rbrack_{{inc} + 1}$

appropriate to the next incoming sound segment [ss]_(inc+1).

The cyclet coefficients are output from the system 50 via the cycletdata output 110 and also are passed to the track remover 66. The cycletvalues [b]_(inc +1) are output separately via the predicted cycletwaveforms output 108 if monitoring is required and together to thecyclet remover 62 ready for subtraction from the next incoming soundsegment [ss]_(inc+1). They are also passed to the PIdata cache 91. If aninstruction to add a cyclet track is received from the detector 60 thenthe predicted cyclet values for this newly-detected cyclet are combinedwith the tracked values in both outputs. Similarly if an instruction todelete a track is received from the track remover 66, then the[b]_(inc+1)values appropriate to this cyclet are removed from bothoutputs.

What is claimed is:
 1. A method of localising noise effects in a firstsignals s_(inc) by means of a representation thereof: a model signalΣb_(inc) comprising at least one modelled component b_(inc)representable by a parameter set comprising at least one model parameter(a₀, a₁, a₂, . . . , a_(n))_(inc) characterised in that the methodcomprises the steps of: (a) subtracting the model signal Σb_(inc) fromthe first signal ss_(inc) to derive a residual signal r_(inc); (b)scaling the residual signal r_(inc) by a multiplicativepseudo-integrating factor ρ having a value between zero and unity; (c)adding the scaled residual signal obtained in Step (b) to at least aproportion of the model signal Σb_(inc) to give at least onepseudo-integrated signal PIdata_(inc), wherein perturbing noise effectsin the scaled residual signal are localised.
 2. A method according toclaim 1 characterised in that prior to Step (c) the model signalΣb_(inc) is multiplied by (1−ρ) to obtain a proportion thereofcomprising at least one scaled model component for addition to thescaled residual signal, and characterised also in that the modelparameter set (a₀, a₁, a₂, . . . , a_(n)) representative of eachmodelled component b_(inc) is corrected for systematic errors by thefollowing additional steps: (a) modelling the pseudo-integrated signalPIdata_(inc) of each particular modelled component b_(inc) to obtain acorresponding set of locally perturbed model parameters (a₀, a₁, . . . ,a_(n))_(LP); (b) subtracting each model parameter (a₀, a₁, a₂, . . . ,a_(n)) from its corresponding locally perturbed model parameter (a₀, a₁,. . . , a_(n))_(LP) to obtain a corresponding set of at least onelocalised perturbation error; (c) rescaling each localised perturbationerror by dividing it by the pseudo-integrating factor ρ; and (d) addingeach rescaled localised perturbation error to its corresponding modelparameter (a₀, a₁, . . . , a_(n)) thereby obtaining a set of respectivepseudo-integrated model parameters (a₀, a₁, a₂, . . . , a_(n))_(PI). 3.A method according to claim 2 characterised in that the signal issegmented to provide a number of signal windows ss_(inc), ss_(inc+1), .. . , ss_(inc+n), and the method is applied iteratively to generatemultiple pseudo-integrated parameter sets (a₀, a₁, a₂, . . . ,a_(n))_(PI) modelling each signal component, and a corrected parameterset (a′₀, a′₁, a′₂, . . . , a′_(n)) is derived from such multipleparameter sets.
 4. A method according to claim 2 characterised in thatthe model signal Σb_(inc) is corrected for systematic errors Σb′_(inc)by addition of the at least one corrected component thereof b′_(inc) inturn derived from respective sets of pseudo-integrated model parameters(a₀, a₁, a₂, . . . , a_(n))_(PI).
 5. A method according to claim 1,characterised in that the first signal ss_(inc) is a digitally sampledsignal [ss]_(inc) and the model signal Σb_(inc) comprises previouslypredicted sampled signal values [Σb]_(inc).
 6. A method of localisingnoise effects in extracting differences between a digitally sampledsignal [ss]_(inc) and previously predicted sampled signal values[Σb]_(inc) comprising a superposition of at least one component signalb_(inc), characterised in that the method comprises the steps of: (a)subtracting the predicted signal values [Σb]_(inc) from the sampledsignal [ss]_(inc) to derive a sampled residual signal [r]_(inc); (b)scaling the residual signal [r]inc in accordance with apseudo-integrating factor ρ having a value between zero and unity, suchthat the residual signal [r]_(inc) is multiplied by ρ; (c) adding thescaled residual signal obtained in Step (b) to at least a proportion ofthe model signal Σb_(inc).
 7. A method according to claim 6characterised in that prior to Step (c) the model signal Σb_(inc) ismultiplied by (1−ρ) to obtain a proportion thereof for addition to thescaled residual signal.
 8. A method according to claim 2 forcounteracting systematic errors characterised in that the errors are inpredicted values (a₀, a₁, . . . , a_(n))_(inc) of parameters descriptiveof one component b_(inc) of a signal exhibiting effects of noise and themethod comprises the steps of: (a) prior to Step (a) of claim 1,predicting expected sampled signal values [Σb]_(inc) from previouslydetermined parameter values; (b) carrying out Steps (a) to (c) of claim1, wherein the first signal comprises a data segment of sampled values[ss]_(inc) taken from a noise-affected signal, the model signalcomprises expected sampled signal values [Σb]_(inc) obtained in Step (a)and the residual signal r_(inc) and pseudo-integrated signalPIdata_(inc) therefore comprise residual signal sampled values [r]_(inc)and a set of pseudo-integrated data [PIdata]_(inc) appropriate to thesignal component b_(inc) respectively; (c) deriving from thepseudo-integrated data set [PIdata]_(inc), locally perturbed parametervalues (a₀, a₁, . . . , a_(n))_(LP) appropriate to the parametersdescriptive of the signal component b_(inc); (d) measuring rescaledperturbation errors err(a_(L)) in each of the predicted parameter values(a₀, a₁, . . . , a_(n))_(inc) descriptive of the model signal componentb_(inc) from the difference between said predicted values (a₀, a₁, . . ., a_(n))_(inc) and the locally perturbed parameter values (a₀, a₁, . . ., a_(n))_(LP) divided by the pseudo-integrating factor ρ; (e) adding therescaled perturbation errors err(a_(l)) derived in Step (d) to thepredicted parameter values (a₀, a₁, . . . , a_(n))_(inc) to obtainpseudo-integrated parameter values (a₀, a₁, . . . , a_(n))_(PI); and (f)smoothing or tracking the pseudo-integrated parameter values (a₀, a₁, .. . , a_(n))_(PI) to provide corrected parameter values (a′₀, a′₁, . . ., a′_(n)).
 9. A method according to claim 8 characterised in that italso comprises the steps of: (a) storing the pseudo-integrated parametervalues (a₀, a₁, . . . , a_(n))_(PI) as latest values in respectivehistory caches wherein each history cache contains previously determinedrespective pseudo-integrated parameter values; (b) clearing a firstparameter value from each cache; and (c) predicting new values of eachcorrected parameter value a_(L)′ appropriate to future sampled values[ss]_(inc+1) of the noise-affected signal by track fitting to thepseudo-integrated parameter values in each history cache andextrapolating a resulting track to future segments of sampled values[ss]_(inc+1).
 10. A method according to claim 9 characterised in thattracking is carried out in the time domain and iterative parametercorrection accounts for the effect of time-varying signals.
 11. A methodaccording to claim 9 characterised in that the track fitting of Step (c)is a linear regression procedure.
 12. A method according to any one ofclaim 8 characterised in that the signal is a multi-component signalΣb_(inc) and the method is applied to each component b_(inc) thereof.13. A method according to claim 2 for separating components of adigitally sampled signal 30 characterised in that it includes the stepsof: (a) prior to Step (a) of claim 1, clocking the digitised signal 30in segments [ss]_(inc) through a detection system 50; (b) carrying outSteps (a) to (c) of claim 1 wherein the first signal comprises digitisedsignal segments [ss]_(inc), the model signal comprises predictedamplitude values [Σb]_(inc) derived from sets of predicted modelparameters, each set (a₀, a₁, a₂, . . . , a_(n))_(inc) representing amodelled component b_(inc) of the signal and the residual signal r_(inc)and pseudo-integrated signals PIdata_(inc) therefore comprise residualsignal sampled values [r]_(inc) and pseudo-integrated data sets[PIdata]_(inc) respectively; (c) correcting errors in timing of profilesb_(inc) applied to the predicted amplitude values [Σb]_(inc) withrespect to sampling times of the digitally sampled signal 30 and alsotracking amplitude changes in this applied amplitude profile b_(inc) ofeach detected component using respective sets of pseudo-integrated data[PIdata]_(inc); and (d) searching the residual signal [r]_(inc) for newsignal components.
 14. A method according to claim 13 characterised inthat the predicted components are derived from detected componentstracked in previously clocked segments of the digitised signal
 30. 15. Amethod according to claim 13 characterised in that the components of thedigitally sampled signal 30 are periodic components.
 16. A methodaccording to claim 13 wherein the signal components are periodiccomponents characterised in that Step (c) of claim 12 comprises thesteps of: (a) measuring a weighted averaged offset of thepseudo-integrated data set [PIdata]_(inc) from the predicted amplitudeprofile b_(inc) of each detected periodic component and thereby derivinga scaled perturbation timing offset; (b) dividing the weighted averagedscaled perturbation timing offset by the pseudo-integrating factor ρ,thereby deriving a resealed timing error in each of the predictedamplitude values [Σb]_(inc); (c) profile fitting the pseudo-integrateddata [PIdata]_(inc) to generate a locally perturbed profile fit andderiving a set of locally perturbed profile coefficients (a₀, a₁, . . ., a_(n))_(LP) appropriate to the profile fit; (d) measuring a differencebetween each locally perturbed coefficient (a₀, a₁, . . . , a_(n))_(LP)and a corresponding coefficient of the profile coefficients (a₀, a₁, . .. , a_(n))_(inc) and dividing each difference by the pseudo-integratingfactor ρ thereby deriving a set of rescaled profile coefficient errors;(e) adding the resealed timing error and each rescaled profilecoefficient error to the previously predicted timing and profilecoefficient values (a₀, a₁, . . . , a_(n))_(inc) to producepseudo-integrated timing and profile coefficient values (a₀, a₁, . . . ,a_(n))_(PI) respectively; (f) smoothing or tracking thepseudo-integrated timing and profile coefficient values (a₀, a₁, . . . ,a_(n))_(PI) to produce corrected timing and profile coefficient valuesrespectively; and (g) predicting new values of the timing and eachprofile coefficient appropriate to a future incoming digitised signalsegment [ss]_(inc+1) from the corrected timing and profile coefficientvalues.
 17. A method according to claim 16 characterised in that valuespredicted in Step (g) are used to derive the predicted amplitude values[Σb]_(inc) amplitude profiles b_(inc) and associated sets of predictedmodel parameters (a₀, a₁, a₂, . . . , a_(n))_(inc) and timings used insubsequent iterations of Steps (b) and (c) of claim 12 in analysing asubsequently sampled signal segment [ss]_(inc+1).
 18. A method accordingto claim 16 characterised in that Step (f) of claim 16 comprises thesteps of: (a) storing the pseudo-integrated timing and profilecoefficient values (a₀, a₁, . . . , a_(n))_(PI) as latest values inrespective history caches wherein each history cache contains previouslydetermined pseudo-integrated timing and profile coefficient values; (b)clearing a first parameter value from each cache, and (c) predicting newvalues of the timing and each profile coefficient appropriate to afuture incoming digitised signal segment [ss]_(inc+1) by track fittingto the values in each history cache and extrapolating a resulting fittedtrack to a future segments of sampled values [ss]_(inc+1).
 19. A methodaccording to claim 16, characterised in that the weighted offset isderived in accordance with a weighting scheme in which offsets atpositions where the gradient of the amplitude profile is steep areweighted relatively strongly and those at positions where the gradientis near-zero are weighted relatively weakly.
 20. A method according to 1claim characterised in that the pseudo-integrating factor ρ is in therange 0.003 to 0.03.
 21. A method of detecting a periodic component of adigitally sampled signal 30 characterised in that the method comprisesthe steps of: (a) filtering the sampled signal 30 to obtain asynchronously estimated period a approximating the periodicity τ of theperiodic component; (b) slicing the digitally sampled signal 30 intodata blocks wherein the size of each data block is equal to thesynchronously estimated period σ; (c) averaging inter-block in-phaseamplitudes of sample points in the digitally sampled signal 30 to obtainmean amplitude values {overscore (b)}(σ) of periodicity σ; (d)subtracting the mean amplitude values {overscore (b)}(σ) from the samplepoint amplitudes b_(i) in each data block to obtain a residual valuesblock; (e) scaling the residual values block in accordance with apseudo-integrating factor ρ, such that the residual values aremultiplied by ρ; (f) adding the scaled residual values obtained in Step(e) to at least a proportion of the mean amplitude values {overscore(b)}(σ) to obtain locally perturbed amplitude values; (g) derivinglocally perturbed offsets by measuring the offsets in time of thelocally perturbed amplitude values from the mean amplitude values{overscore (b)}(σ); (h) dividing the locally perturbed offsets by thepseudo-integration factor ρ and tracking or smoothing resultingpseudo-integrated values to obtain a mean timing error line; and (i)correcting the synchronously estimated period (σ) by an amount equal tothe gradient of the mean timing error line to obtain a refined estimateof the periodicity τ of the periodic component.
 22. A method accordingto claim 21 characterised in that prior to Step (f) the mean amplitudevalues {overscore (b)}(σ) are scaled by multiplying them by (1−ρ) toobtain proportions thereof for addition to the scaled residual valuesproduced in Step (e).
 23. A signal processing system characterised inthat it incorporates: (a) a transducer 54, 56 for transforming physicalphenomena into a received signal data stream ss_(inc), 30; (b) apredictor 70, 72, 94 for providing a predicted signal comprising apredicted estimate of at least one component Σb_(inc), {overscore(b)}(s) of the received signal {overscore (b)}(s) ss_(inc); (c) aremover 62, 78 for subtracting the predicted signal Σb_(inc), {overscore(b)}(s) from the received signal ss_(inc) to generate a residual signalr_(inc); (d) an evaluator 90, 78 for generating a pseudo-integratedsignal comprising sets of pseudo-integrated components PIdata_(inc),each set corresponding to one predicted signal component Σb_(inc),{overscore (b)}(s) and for correcting the predicted signal componentsusing this set of pseudo-integrated components, wherein each set ofpseudo-integrated components PIdata_(inc) is derived from the residualsignal r_(inc) and predicted signal components Σb_(inc), {overscore(b)}(s) by adding at least a proportion of the predicted signalcomponent Σb_(inc), {overscore (b)}(s) to the respective residual signalr_(inc) scaled by a pseudo-integrating factor ρ having a value betweenzero and unity; and (e) an updator 92, 78 for correcting the predictedsignal components Σb_(inc), {overscore (b)}(s) to produce a correctedestimate of the received signal components Σb′_(inc), {overscore(b)}′(τ).
 24. A signal processing system according to claim 23characterised in that the predicted signal component Σb_(inc),{overscore (b)}(s) is scaled by multiplying it by (1−ρ) to obtain theproportion thereof for addition to the scaled residual signal r_(inc).25. A signal processing system according to claim 24 characterised inthat the evaluator 90, 78 comprises an estimator for deriving locallyperturbed errors in model descriptors (a₀, a₁, a₂, . . . , a_(n))_(inc),s of each predicted signal component b_(inc) using each set ofpseudo-integrated data PIdata_(inc) and for rescaling the locallyperturbed errors by dividing by the pseudo-integrating factor ρ; andwherein the updator 92, 78 is arranged to produce a corrected estimateof the received signal components Σb′_(inc), {overscore (b)}′(τ) byadding the rescaled locally perturbed errors to the model descriptors(a₀, a₁, a₂, . . . , a_(n))_(inc), s thereof and thereby producing a setof pseudo-integrated model descriptors (a₀, a₁, a₂, . . . , a_(n))_(PI)and the updator is further arranged to smooth and/or track thepseudo-integrated model descriptors (a₀, a₁, a₂, . . . , a_(n))_(inc)and thereby correct, update or predict values thereof (a₀, a₁, a₂, . . ., a_(n))_(inc+1).
 26. A signal processing system according to claim 24characterised in that the predictor 70, 72 is arranged to detect atleast one approximate component Σb_(inc)(s) of an incoming signalss_(inc), and the evaluator 90 is arranged to provide a measure of errorwithin such approximate components and the updator 78 is therebyarranged to generate components with improved accuracy Σb′_(inc)(τ). 27.A signal processing system according to claim 26 characterised in thatthe predicted signal comprises predicted estimates of more than onecomponent Σb_(inc), {overscore (b)}(s) of the received signal and thatthe detection system is arranged to detect components iteratively.
 28. Asignal processing system according to claim 24 wherein the predictor 70,72 is arranged to detect approximate parameters b_(inc)(a₀, a₁, a₂, . .. , a_(n), s) describing an incoming signal ss_(inc), and the evaluator90 is arranged to provide a measure of error within such approximateparameters and the updator 78 is thereby arranged to generate parameterswith improved accuracy b′_(inc)(a′₀, a′₁, a′₂, . . . , a′_(n), τ).
 29. Asignal processing system according to claim 27 characterised in that thesignal components b_(inc)(τ) are periodic components.
 30. A signalprocessing system according to according to claim 29 characterised inthat the received signal data stream 30 is a digitally sampled datastream clocked through the system in segments [ss]_(inc).
 31. A signalprocessing system according to claim 30 characterised in that it alsoincludes a cyclet remover 62 arranged to generate a residual data signal[r]_(inc) from a segment [ss]_(inc) of the digitally sampled data streamby subtraction from that sampled segment [ss]_(inc) of sampled cycletamplitude values [Σb]_(inc) appropriate to predicted periodic componentsΣb_(inc), wherein said predicted periodic components Σb_(inc) representa superposition of cyclet amplitude profiles b_(inc), sampledsynchronously with the sampled segment [ss]_(inc).
 32. A signalprocessing system according to claim 31 characterised in that thepredictor 70, 72 comprises a filterbank 70 comprising a test set offilter sizes arranged to analyse a data stream ss_(ins), r_(inc) in thetime domain and generate an approximate maximum likelihood estimate ofdominant periodicities of periodic components within the signalss_(inc), r_(inc).
 33. A signal processing system according to claim 31characterised in that each filter in the filterbank 70 is arranged toslice the received signal data stream 30 into a non-overlapping seriesof data blocks, wherein each data block contains an integral number s ofsample points and the maximum likelihood estimator is a power spectrumP(σ) wherein P is the average power per sampled signal contained in anaverage of several adjacent data blocks of size σ.
 34. A signalprocessing system according to claim 33 characterised in that the filterbank 70 comprises a set of test periodicities s, each test periodicity sbeing a multiple of the inter-sampling period of the received signaldata stream
 30. 35. A signal processing system according to claim 33characterised in that the system includes a cyclet quantifier 76arranged to identify the nature of peaks arising in the maximumlikelihood spectrum P(σ) and thereby to identify those which arise byway of the test periodicity σ being an approximation to an actualperiodicity τ within the received signal data stream
 30. 36. A signalprocessing system according to claim 33, characterised in that thepredicted estimates of the received signal are averaged sampled valuesof cyclet amplitude profiles [Σb(σ)_(inc)] provided by the filterbank 70and corresponding to peaks in the power spectrum P(σ) and the remover78, evaluator 78 and updator 78 components of the signal processorsystem of claim 24 are thereby arranged to produce corrected estimatesof predicted cyclet amplitude profiles [Σb′(τ)_(inc)] of dominantperiodic signal components.
 37. A signal processing system according toclaim 24 characterised in that the predictor 94 is arranged to generatethe predicted estimate of the received signal Σb_(inc) on the basis ofcorrected estimates of previously predicted received signals Σb′_(inc−1)generated by the updator
 92. 38. A signal processing system according toclaim 37 characterised in that the received signal data stream ss_(inc),30 comprises at least one distinct time-varying component b_(inc).
 39. Asignal processing system according to claim 38 characterised in that itsarranged to track detected signal components Σb_(inc) with time whereinthe evaluator 90 is arranged to use the pseudo-integrated data setsPIdata_(inc) to correct for prediction inaccuracies in the predictedestimates of received signal components Σb_(inc).
 40. A signalprocessing system according to claim 38 characterised in that the signalcomponents b_(inc)(τ) are periodic components.
 41. A signal processingsystem according to claim 40 characterised in that the received signaldata stream 30 is a digitally sampled data stream clocked through thesystem in segments [ss]_(inc).
 42. A signal processing system accordingto claim 41 characterised in that it also includes a cyclet remover 62arranged to generate a residual data signal [r]_(inc) from a segment[ss]_(inc) of the digitally sampled data stream by subtraction from thatsampled segment [ss]_(inc) of cyclet amplitude values [Σb]_(inc)appropriate to predicted periodic components Σb_(inc) (cyclet amplitudeprofiles) sampled synchronously with the sampled segment [ss]_(inc). 43.A signal processing system according to claim 42 characterised in thatthe predictor 94 is arranged to provide a predicted estimate of thereceived signal Σb_(inc) in the form of predicted timing τ and amplitudecoefficients (a₀, a₁, . . . , a_(n))_(inc) describing an amplitudeprofile b_(inc) of each detected periodic component and the predictedcyclet amplitude values [Σb]_(inc) appropriate to the amplitude profilesΣb_(inc) of all detected periodic components in the time frame of anincoming data segment; and the evaluator 90 is thereby arranged tomeasure errors in the predicted timing and amplitude coefficients (a₀,a₁, . . . , a_(n))_(inc).
 44. A signal processing system according toclaim 43 characterised in that the updator 92 is arranged to correct thepredicted timing τ and amplitude coefficients (a₀, a₁, . . . ,a_(n))_(inc) in accordance with the errors measured therein and soproduce corrected timing and amplitude coefficients; and the trackingsystem is arranged therewith to predict the timing and the predictedcyclet amplitude values [Σb]_(inc+1) of each detected periodic componentin a future incoming data segment and also to predict the changingamplitude profiles b_(inc+1) of each detected periodic component.
 45. Asignal processing system according to claim 44 characterised in thepredictor 94 incorporates respective history caches of previouslypredicted timing and amplitude coefficients and the corrected timing andamplitude coefficients wherein the predictor 94 is arranged to curve fittracks to values within each respective cache.
 46. A signal processingsystem according to claim 44 characterised in that the predictor 94 isarranged to evaluate the tracks at the sampling points of the futureincoming data segment and thereby to provide the predicted amplitudevalues [b]_(inc+1) appropriate to the future segment and pass thesepredicted cyclet amplitude values [b]_(inc+1) to the cyclet remover 62.47. A signal processing system according to claim 40 characterised inthat it also incorporates a track remover 66 arranged to evaluate thesignal to noise ratio of detected signal components b_(inc)(τ) and thesystem is arranged to remove any such component from subsequentlygenerated predicted estimates of received signal components Σb_(inc)when its signal to noise ratio falls below a threshold value.
 48. Asignal processing system according to claim 44 for generating lowbandwidth data from an analogue input signal characterised in that itincludes a cyclet data output 110 for extracting predicted cycletamplitude values [Σb]_(inc +1) of each detected periodic component. 49.A signal processing system according to claim 42 for removing at leastone dominant audio component from a multi-component audio signalcharacterised in that it is a first such system and it is disposed witha second such system arranged to detect selected dominant audiocomponents, and the system being arranged to track each selecteddominant audio component and including a residual signal output 106arranged to output a residual signal r_(inc) generated from a sampledinput signal [ss_(inc)] less the predicted amplitude values [Σb]_(inc)of each selected dominant audio component, and the second systemincorporating: (a) a second transducer 54, 56 for transforming physicalphenomena into a received signal data stream ss_(inc), 30; (b) a secondpredictor 70, 72, 94 for providing a predicted signal comprising apredicted estimate of at least one approximate component Σb_(inc)(s) ofan incoming signal ss_(inc), and the evaluator 90 is arranged to providea measure of error within such approximate components and the updator 78is thereby arranged to generate components with improved accuracyΣb′_(inc)(τ); (c) a second remover 62, 78 for subtracting the predictedsignal Σb_(inc), {overscore (b)}(s) from the received signal ss_(inc) togenerate a residual signal r_(inc); (d) a second evaluator 90, 78 forgenerating a pseudo-integrated signal comprising sets ofpseudo-integrated components PIdata_(inc), each set corresponding to onepredicted signal component b_(inc), {overscore (b)}(s) {overscore(b)}(s) {overscore (b)}(s) and for correcting the predicted signalcomponents using this set of pseudo-integrated components, wherein eachset of pseudo-integrated components PIdata_(inc) is derived from theresidual signal r_(inc) and predicted signal components Σb_(inc),{overscore (b)}(s) by adding together the residual signal r_(inc) scaledby a pseudo-integrating factor ρ and the respective predicted signalcomponent Σb_(inc), {overscore (b)}(s) scaled by a factor (1−ρ); (e) asecond estimator is incorporated in the evaluator 90, 78 for derivinglocally perturbed errors in model descriptors (a₀, a₁, a₂, . . . ,a_(n))_(inc), s of each predicted signal component b_(inc) using eachset of pseudo-integrated data PIdata_(inc) and for rescaling the locallyperturbed errors by dividing by the pseudo-integrating factor ρ; and (f)a second updator 92, 78 arranged to produce a corrected estimate ofreceived signal components Σb′_(inc), {overscore (b)}′(τ) by addingrescaled locally perturbed errors to model descriptors (a₀, a₁, a₂, . .. , a_(n))_(inc), s thereof and thereby producing a set ofpseudo-integrated model descriptors (a₀, a₁, a₂, . . . , a_(n))_(PI) andto smooth and/or track the pseudo-integrated model descriptors (a₀, a₁,a₂, . . . , a_(n))_(inc) and thereby correct, update or predict valuesthereof (a₀, a₁, a₂, . . . , a_(n))_(inc+1).
 50. A signal processingsystem according to claim 42 for isolating at least one dominant audiocomponent from a multi-component audio signal characterised in that itis a first such system and it is disposed with a second such systemarranged to detect selected dominant audio components, the first systembeing arranged to track each selected dominant audio component andincluding a signal output channel 108, 110 arranged to output correctedor predicted amplitude values [Σb]_(inc) [Σb]_(inc+1) of each selecteddominant audio component, and the second system incorporating: (a) asecond transducer 54, 56 for transforming physical phenomena into areceived signal data stream ss_(inc), 30; (b) a second predictor 70, 72,94 for providing a predicted signal comprising a predicted estimate ofat least one approximate component Σb_(inc)(s) of an incoming signalss_(inc), and the evaluator 90 is arranged to provide a measure of errorwithin such approximate components and the updator 78 is therebyarranged to generate components with improved accuracy Σb′_(inc)(τ); (c)a second remover 62, 78 for subtracting the predicted signal Σb_(inc),{overscore (b)}(s) from the received signal ss_(inc) to generate aresidual signal r_(inc); (d) a second evaluator 90, 78 for generating apseudo-integrated signal comprising sets of pseudo-integrated componentsPIdata_(inc), each set corresponding to one predicted signal componentb_(inc), {overscore (b)}(s) {overscore (b)}(s) {overscore (b)}(s) andfor correcting the predicted signal components using this set ofpseudo-integrated components, wherein each set of pseudo-integratedcomponents PIdata_(inc) is derived from the residual signal r_(inc) andpredicted signal components Σb_(inc), {overscore (b)}(s) by addingtogether the residual signal r_(inc) scaled by a pseudo-integratingfactor ρ and the respective predicted signal component Σb_(inc),{overscore (b)}(s) scaled by a factor (1−ρ); (e) a second estimator isincorporated in the evaluator 90, 78 for deriving locally perturbederrors in model descriptors (a₀, a₁, a₂, . . . , a_(n))_(inc), s of eachpredicted signal component b_(inc) using each set of pseudo-integrateddata PIdata_(inc) and for rescaling the locally perturbed errors bydividing by the pseudo-integrating factor ρ; (f) a second updator 92, 78arranged to produce a corrected estimate of received signal componentsΣb′_(inc), {overscore (b)}′(τ) by adding rescaled locally perturbederrors to model descriptors (a₀, a₁, a₂, . . . , a_(n))_(inc), s thereofand thereby producing a set of pseudo-integrated model descriptors (a₀,a₁, a₂, . . . , a_(n))_(PI) and to smooth and/or track thepseudo-integrated model descriptors (a₀, a₁, a₂, . . . , a_(n))_(inc)and thereby correct, update or predict values thereof (a₀, a₁, a₂, . . ., a_(n))_(inc +1).